﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Threading;

namespace Deep_Talk_Converter.RenderTasks
{
    public abstract class RenderBase
    {
        abstract public void Start();

        public delegate void MeetingNameCallback (string name);

        public event MeetingNameCallback MeetingName;

        protected void FireMeetingName(string name)
        {
            if (MeetingName != null)
            {
                MeetingName(name);
            }
        }

        public delegate void ProgressCallback (string message);

        public event ProgressCallback Progress;

        protected void FireProgressUpdate(string message)
        {
            if (Progress != null)
            {
                Progress(message);
            }
        }

        public delegate void RenderDoneCallback(bool ok, string message);

        public event RenderDoneCallback RenderDone;

        protected void FireRenderDone(bool ok, string message)
        {
            if (RenderDone != null)
            {
                RenderDone(ok, message);
            }
        }
    }
}
